<?php
/**
 * Created by PhpStorm.
 * User: bzing
 * Date: 2017-07-31
 * Time: 12:45
 */
namespace app\api\controller;
vendor('wxpay.WxPay#Api');
class WxPay{
    /**
     * 微信支付
     * @param $params
     * @return \成功时返回
     * @throws \WxPayException
     */
    function wxPay($params){
        $input = new \WxPayUnifiedOrder;
        $input->SetBody($params['body']);
        $input->SetOut_trade_no($params['out_trade_no']);
        $input->SetTotal_fee($params['total_fee']);
        $input->SetTrade_type("APP");
        $result = \WxPayApi::unifiedOrder($input);
        return $result;
    }

    /**
     * 微信退款
     * @param $info
     * @return \成功时返回
     * @throws \WxPayException
     */
    function wxRefund($info){
        $input = new \WxPayRefund;
        $input->SetTransaction_id($info['trade_no']);   // 订单流水号
        $input->SetOut_trade_no($info['order_no']);     // 自己生成的订单号
        $input->SetTotal_fee($info['pay_amount']);      // 订单金额
        $input->SetRefund_fee($info['pay_amount']);     // 退款金额，整数
        $input->SetOut_refund_no(getOrderNo());         // 生成退款订单号
        $input->SetOp_user_id(\WxPayConfig::MCHID);     // 商家号
        $result = \WxPayApi::refund($input);            // 退款操作
        return $result;
    }
}